package com.jxau.mall.user.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.time.LocalDateTime;

//@Getter
//@Setter
@Data  //该注解能代替以上两个注解
@AllArgsConstructor //创建所有参数的构造方法
@NoArgsConstructor //创建无参的构造方法
@Component //在容器中实例化一个对象 相当于UserInfo userinfo  = new UserInfo();
@TableName("user_info") //如果命名规范，则不需要写这句，命名规范为驼峰命名
public class UserInfo implements Serializable {

    //序列化id,
    private static final long serialVersionUID = 1L;

    @TableId(value = "id",type = IdType.ASSIGN_ID) //同样驼峰命名就可以不写，value的值为表中的名称,type为编号规则，这里用的是雪花编号
    private Long id;//编号

    @TableField("username") //同样驼峰命名就可以不写
    private String username;//用户名

    private String password;//密码

    private String email;//邮箱

    @TableField("nick_name")  //同样驼峰命名就可以不写
    private String nickName;//昵称,驼峰命名法

    private String note;//备注信息

    @TableField(value = "create_time",fill = FieldFill.INSERT) //value如果是驼峰命名就可以不写表示自动填充，并指定填充规则
    private LocalDateTime createTime;//创建时间
    @TableField(fill = FieldFill.INSERT) //表示自动填充，并指定填充规则
    private Integer status;//账号启用状态：1：启用 2：禁用

}
